#include<bits/stdc++.h>
using namespace std;
int mod=998244353;
// #define int long long
//f_i,j,k
/*
O(nsqrtn)
f_i,j,2
fij0=
*/
int f[2][200005][2];
int ans[200005];
void init(){
	f[0][0][1]=1;
	bool T=0;
	for(int i=1;i<=500;i++){
		memset(f[T^1],0,sizeof(f[T^1]));
		for(int j=1;j<=2e5;j++){
			f[T^1][j][0]=(f[T][j-1][1])%mod;
		}
		for(int j=i;j<=2e5;j++){
			f[T^1][j][1]=(1ll*f[T^1][j][1]+f[T^1][j-i][0]+f[T^1][j-i][1])%mod;
		}
		for(int j=i;j<=2e5;j++){
			if(0<=j*2-i&&j*2-i<=2e5)ans[j*2-i]=(1ll*ans[j*2-i]+f[T^1][j][0]+f[T^1][j][1])%mod;
		}
		T^=1;
	}
}
signed main(){
	freopen("moon.in","r",stdin);
	freopen("moon.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	int T;
	cin>>T>>mod;
	init();
	while(T--){
		int x;
		cin>>x;
		cout<<ans[x]<<"\n";
	}
	return 0;
}